数据权限

您所在的位置:网站首页 Eladmin plus 数据权限

数据权限

2024-06-06 22:36| 来源: 网络整理| 查看: 265

# 数据权限

本系统是基于部门做的一个简单数据权限控制,也就是通过用户角色中的数据权限控制用户能看哪些数据。

实现思路就是通过获取角色中关联的部门ID,再通过 IN 查询,达到数据权限控制,前提是被查询的表中需要有 部门ID 的字段。

# 注解方式(适用JPA版本)

现可通过注解 @DataPermission 进行权限控制,Mybatis-plus 版本的用户需要自行实现该功能

Jpa版本源码如下:

/** *

* 用于判断是否过滤数据权限 * 1、如果没有用到 @OneToOne 这种关联关系,只需要填写 fieldName [参考:DeptQueryCriteria.class] * 2、如果用到了 @OneToOne ,fieldName 和 joinName 都需要填写,拿UserQueryCriteria.class举例: * 应该是 @DataPermission(joinName = "dept", fieldName = "id") *

* @author Zheng Jie * @website https://eladmin.vip * @date 2020-05-07 **/ @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) public @interface DataPermission { /** * Entity 中的字段名称 */ String fieldName() default ""; /** * Entity 中与部门关联的字段名称 */ String joinName() default ""; } 12345678910111213141516171819202122232425

目前系统在 部门管理 中加入了数据权限供大家测试,具体查看源码

# 数据权限

系统提供了三种数据权限控制

全部数据权限 无数据权限限制 本级数据权限 限制只能看到本部门数据 自定义数据权限 可根据实际需要选择部门控制数据权限

# 代码参考

可参考 DeptQueryCriteria.class 中的写法,底层实现 QueryHelp.class 中的 42 行



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3